import {ReqgetUserInfo, ReqLogout} from '@/api'
import { deleteToken } from '@/utils/auth'
import router from '@/router'
let state={
    userinfo:{}
}
let mutations={
    // 获取用户信息
    SAVE_USER_INFO(state,value){
        state.userinfo = value
    },
    // 删除用户信息
    DELETE_USER_INFO(state,value){
        state.userinfo = {};
    }
}
let actions={
    // 获取用户信息
    async asyncgetUserInfo({commit}){
        try{
            // 发送请求
        let data = await ReqgetUserInfo()
        // console.log(data);
        // 调用mutations中的方法
        commit('SAVE_USER_INFO',data)
        }catch(error){
            return Promise.reject();
        }
    },
    // 清除用户 token 及信息
    async asyncDeleteUserInfo({commit}){
        try{
            // 发送删除请求
            await ReqLogout()
            // 删除token
            deleteToken()
            // 调用mutation中的方法
            commit ('DELETE_USER_INFO')
            // 跳转至登录页面
            router.replace('/login')
        }catch(error){
            return Promise.reject()
        }
    }
}

export default {
    namespaced:true,
    state,
    mutations,
    actions,
}